package com.whz.mlc.hotkey;

import java.util.Map;

/**
 * @author whz
 * 2021/8/9
 */
public interface HotKeyCounter {

    String BASE_SPACE = "mlc:cache:hotkey:";

    /**
     * hot key计数
     *
     * @param hotKey 缓存的key
     * @param value  缓存的value
     */
    void hotKeyCount(String hotKey, Object value);

    /**
     * hot key计数
     *
     * @param hotKey 缓存的key
     * @param value  缓存的value
     * @param size   次数
     */
    void hotKeyCountSize(String hotKey, Object value, int size);

    /**
     * 获取当前hotkey,应该由定时获取hot keys 通知集群
     *
     * @return <hotkey,value> map
     */
    Map<String, Object> currentHotKeys();

    /**
     * 删除键
     *
     * @param key 缓存Key
     */
    Boolean delete(String key);
}